package com.hsgene.basic.domain;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.hsgene.common.util.date.TimeJsonDeserializer;

import java.io.Serializable;
import java.util.Date;

/**
 * 产品目录信息
 *
 * @author wangbing
 * @version 1.0, 2018/8/28
 */
public class ProductCatalogue implements Serializable {

    private static final long serialVersionUID = 6740213814576265954L;
    /**
     * 产品分类id
     */
    private Integer id;

    /**
     * 分类所属模块
     */
    private String module;

    /**
     * 分类名称
     */
    private String name;

    /**
     * 当前分类所属等级
     */
    private Integer level;

    /**
     * 当前分类父级分类id(0表示顶级目录分类)
     */
    private Integer parentId;

    /**
     * 当前分类是否有效
     */
    private Boolean available;

    /**
     * 是否可修改
     */
    private Boolean modifySupported;

    /**
     * 当前主要作为APP端分类目录展示使用
     */
    private String imageUrl;

    /**
     * 创建时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date updateTime;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getModule() {
        return module;
    }

    public void setModule(String module) {
        this.module = module;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public Boolean getAvailable() {
        return available;
    }

    public void setAvailable(Boolean available) {
        this.available = available;
    }

    public Boolean getModifySupported() {
        return modifySupported;
    }

    public void setModifySupported(Boolean modifySupported) {
        this.modifySupported = modifySupported;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}
